home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 52
/
Amiga Format AFCD52 (Issue 136, May 2000).iso
/
-serious-
/
programming
/
basic
/
mildred
/
lha
/
internal.lha
/
Internal.txt
Wrap
Text File
|
1999-03-23
|
9KB
|
159 lines
._Data
;000
GeneralCPUmode: Dc.b 0 ; 0=000-030, 1=040-060 max cpu allowed to use with regards 040+ instructions such as move16
SpecificCPUmode:Dc.b 0 ; 0=000, 1=010, 2=020, 3=030, 4=040, 6=060 minimum cpu that is available
;002
Autoc2pWindowsUse: Dc.b 1 ; Automatically use new c2pWindows? 0=No, <>0=Yes
c2pCPUmode: Dc.b 1 ; 0=000-030, 1=040-060 c2p routine to use
;004
LongwordStore: Dc.l 0 ; Temporary storage place to put a longword (any, ie if not enough regs)
;008
c2p_Rows: Dc.w 0 ; Temporary
c2p_RowsStore: Dc.w 0 ; Temporary
c2p_Pmod: Dc.w 0 ; Temporary
c2p_Cmod: Dc.w 0 ; Temporary
c2p_Pixels: Dc.l 0 ; Temporary
;020
c2pWindowsMem: Dc.l 0 ; Pointer to mem reserved for c2pWindow structures
c2pWindowsTotal:Dc.w 0 ; Total number of c2p windows (do -1 for highest)
;026
Currentc2pWindows:
Currentc2pWindow1: Dc.w -1 ; Number of current c2pWindow
Currentc2pWindow2: Dc.w -1 ; Number of second current c2pWindow
Currentc2pWindow3: Dc.w -1 ; Number of third current c2pWindow
;032
;c2pWindow structure, 8 bytes
c2pWindows
c2p0_Pixels: Dc.w 0 ;0 Number of pixels per row, or total number of pixels.l if no modulo
c2p0_RowsStore: Dc.w 0 ;2 Row counter. Pixels and RowStore need to make a longword (Pixels.l) and thus are consequtive
c2p0_Pmod: Dc.w 0 ;4 Planar line modulo
c2p0_Cmod: Dc.w 0 ;6 Chunky line modulo
;040
Dc.l 0 ; Spare
;044
Dc.l 0 ; Spare
;048
CShape_AutoCookie: Dc.b 0 ; AutoCookie status for shapes. 0=None, <>0 =ByteForByte
CBitmap_AutoStencil: Dc.b 0 ; AutoStencil status for bitmaps. 0=None, <>0 =ByteForByte
CShape_AutoClip: Dc.b 0 ; AutoClip status for shapes. 0=Off, <>0=On
CBitmap_AutoClip: Dc.b 0 ; AutoClip status for bitmaps. 0=Off, <>0=On
;052
CShape_AutoWrap: Dc.b 0 ; AutoWrap status for shapes. 0=Off, <>0=On automatic handle wrapping
CBitmap_AutoWrap: Dc.b 0 ; AutoWrap status for bitmaps. 0=Off, <>0=On automatic handle wrapping
;054
CCookie_AutoXFlip: Dc.b -1 ; Automatic flipping of cookies when flipping shapes horizontally
CCookie_AutoYFlip: Dc.b -1 ; Automatic flipping of cookies when flipping shapes vertically
CStencil_AutoXFlip: Dc.b -1 ; Automatic flipping of stencils when flipping bitmaps horizontally
CStencil_AutoYFlip: Dc.b -1 ; Automatic flipping of stencils when flipping bitmaps vertically
;058
CurrentCShapes:
CurrentChunkyShape1: Dc.w -1 ; Number of current ChunkyShape
CurrentChunkyShape2: Dc.w -1 ; Number of second current ChunkyShape
CurrentChunkyShape3: Dc.w -1 ; Number of third current ChunkyShape
;064
CurrentCBitmaps:
CurrentChunkyBitmap1:Dc.w -1 ; Number of current ChunkyBitmap
CurrentChunkyBitmap2:Dc.w -1 ; Number of second current ChunkyBitmap
CurrentChunkyBitmap3:Dc.w -1 ; Number of thid current ChunkyBitmap
;070
ChunkyShapesTotal: Dc.w 0 ; Total number of ChunkyShapes (do -1 for highest)
ChunkyShapesMem: Dc.l 0 ; Pointer to mem reserved for ChunkyShape structures
ChunkyBitmapsMem: Dc.l 0 ; Pointer to mem reserved for ChunkyBitmap structures
ChunkyBitmapsTotal:Dc.w 0 ; Total number of ChunkyBitmaps (do -1 for highest)
;082
CurrentChunkyShapeBank: Dc.w 0 ; Current Shape bank, 0 as default
;084
AutoChunkyShapesUse: Dc.b 1 ; Automatically use new ChunkyShapes? 0=No, <>0=Yes
AutoChunkyBitmapsUse: Dc.b 1 ; Automatically use new ChunkyBitmaps? 0=No, <>0=Yes
;086
_DoubleQBlitModeType:Dc.w 0 ; Type of blit that DoubleQBlit does. 0=Cookie,1=Erase,2=Inv,3=Solid,4=MColourMode,5=MReMapMode,6
_DoubleBlitModeType: Dc.w 0 ; Type of blit that DoubleBlit does. 0=Cookie,1=Erase,2=Inv,3=Solid,4=MColourMode,5=MReMapMode,6
_QBlitModeType: Dc.w 0 ; Type of blit that QBlit does. 0=Cookie,1=Erase,2=Inv,3=Solid,4=MColourMode,5=MReMapMode,6
_BlitModeType: Dc.w 0 ; Type of blit that Blit does. 0=Cookie,1=Erase,2=Inv,3=Solid,4=MColourMode,5=MReMapMode,6
_ParticleModeType: Dc.w 4 ; Type of blit that particle routines plot/draw do. 4=MColourMode,5=MReMapMode,6=MSimpleReMapMode
SScrollModeType: Dc.w 0 ; Type of blit that SScroll and CScroll do. 0=Cookie,1=Erase,2=InvMode,3=SolidMode,4=MColourMode
SMaskScrollModeType: Dc.w 0 ; Type of blit that MSMaskScrolls do. 0=Cookie,1=Erase,2=InvMode,3=SolidMode,4=MColourMode,5,6
DoubleScrollMode: Dc.b 0 ; Mode that DoubleScrolls use. 0=Paste, <>0=Cut.
DoubleBlitMode: Dc.b 0 ; Mode that DoubleBlits use. 0=Paste, <>0=Cut.
DoubleQBlitMode: Dc.b 0 ; Mode that DoubleQBlits use. 0=Paste, <>0=Cut.
_ParticleFormat: Dc.b 0 ; Format of particle lists and operation to perform. 0=word, <0=quick, >0=address
;104
;ChunkyResource structure, 64 bytes (bitmaps and shapes)
ChunkyResources
CRsrc_Width: Dc.w 0 ;0 Width of the chunky resource in pixels (=bytes)
CRsrc_Height: Dc.w 0 ;2 Height of the chunky resource in pixels (=lines) Must be positioned directly after Width
CRsrc_LineMod: Dc.w 0 ;4 Horizontal line modulo - bytes to add at end of line to get to start of next line (usually zero)
CRsrc_Clipping: Dc.b 0 ;6 Clip window active/deactive. 0=Off, <>0=On
CRsrc_Wrapping: Dc.b 0 ;7 X&Y Handle-wrapping active/deactive. 0=Normal, <>0=MemoryWrap (add WrapBytes to base address)
CRsrc_Data: Dc.l 0 ;8 Pointer to move16-aligned memory containing resource's graphic
CRsrc_Stencil: Dc.l 0 ;12 Pointer to move16-aligned memory containing resource's stencil/mask/cookie
CRsrc_XHandle: Dc.w 0 ;16 X-Handle coordinate horizontal offset
CRsrc_YHandle: Dc.w 0 ;18 Y-Handle coordinate verticle offset
CRsrc_DMem: Dc.l 0 ;20 Actual base pointer of memory reserved for data (before move16-alignment)
CRsrc_DBytes: Dc.l 0 ;24 Total number of bytes in the resource's graphic mem (before align)
CRsrc_SMem: Dc.l 0 ;28 Actual base pointer of memory reserved for stencil (before move16-alignment)
CRsrc_SBytes: Dc.l 0 ;32 Total number of bytes in the resource's stencil/mask/cookie (before align)
CRsrc_DHere: Dc.b 0 ;36 Graphic data here. 0=Cludged, <>0=CRsrc_DMem is base address
CRsrc_SHere: Dc.b 0 ;37 Stencil data here. 0=Cludged, <>0=CRsrc_SMem is base address
CRsrc_ClipLMod: Dc.w 0 ;38 Clip window horizontal line modulo in bytes compared with bitmap width (additional to LineMod)
CRsrc_ClipLeft: Dc.w 0 ;40 Clip window's left-edge X coordinate offset
CRsrc_ClipTop: Dc.w 0 ;42 Clip window's top-edge Y coordinate offset
CRsrc_ClipWidth:Dc.w 0 ;44 Clip window's width in pixels
CRsrc_ClipHight:Dc.w 0 ;46 Clip window's height in pixels
CRsrc_ClipBytes:Dc.l 0 ;48 Clip window bytes to add to addresses to find topleft corner of clip window
CRsrc_WrapBytes:Dc.l 0 ;52 Handle bytes to add to base addresses to find topleft XHandle,Yhandle offset
CRsrc_TotWidth: Dc.w 0 ;56 Width+LineMod, for faster reading of total byte width
CRsrc_Pad1: Dc.w 0 ;58
CRsrc_Pad2: Dc.l 0 ;60
;168
ChunkyQueuesMem: Dc.l 0 ; Pointer to where the ChunkyQueue structures are held
ChunkyQueuesTotal: Dc.w 0 ; Number of ChunkyQueue structures
AutoChunkyQueuesUse: Dc.b 1 ; Automatically use new ChunkyQueues? 0=No, <>0=Yes
;175
CurrentInks:
CurrentInk1: Dc.b 1 ; Current ink to use in graphics routines, default colour
CurrentInk2: Dc.b 1 ; Second current ink to use
CurrentInk3: Dc.b 1 ; Third current ink to use
;178
CurrentChunkyQueues:
CurrentChunkyQueue1: Dc.w -1 ; Number of current ChunkyQueue
CurrentChunkyQueue2: Dc.w -1 ; Number of second current ChunkyQueue
CurrentChunkyQueue3: Dc.w -1 ; Number of third current ChunkyQueue
;184
;ChunkyQueue structure, 16 bytes
ChunkyQueues
CQueue_LMem: Dc.l 0 ;0 Pointer to memory used to store the list. 0=Queue doesn't exist
CQueue_LBytes: Dc.l 0 ;4 Bytes of mem reserved
CQueue_MaxItems:Dc.w 0 ;8 Maximum number of items in the queue
CQueue_Items: Dc.w 0 ;10 Actual number of items in the queue
CQueue_ItemAddr:Dc.l 0 ;12 Memory address of the current item
;200
LineLastXpos: Dc.w 0 ;0 X coordinate of the end of the previously drawn line
LineLastYpos: Dc.w 0 ;2 Y coordinate of the end of the previously drawn line
;204
ChunkyTablesMem: Dc.l 0 ; Pointer to where the ChunkyTable structures are held
ChunkyTablesTotal: Dc.w 0 ; Number of ChunkyTable structures
AutoChunkyTablesUse: Dc.b 1 ; Automatically use new ChunkyTables? 0=No, <>0=Yes
Dc.b 0 ; Spare
;212
CurrentChunkyTables:
CurrentChunkyTable1: Dc.w -1 ; Number of current ChunkyTable
CurrentChunkyTable2: Dc.w -1 ; Number of second current ChunkyTable
CurrentChunkyTable3: Dc.w -1 ; Number of third current ChunkyTable
;218
_DrawingModeType: Dc.w 4 ; Type of operation that drawing ops do. 2=InvMode,4=MColourMode,5=MReMapMode,6=MSimpleReMapMode
;220
;ChunkyTable structure, 16 bytes
ChunkyTables
CTable_LMem: Dc.l 0 ;0 Pointer to memory used to store the list. 0=Table doesn't exist
CTable_LBytes: Dc.l 0 ;4 Bytes of mem reserved.Also maximum number of items
CTable_Items: Dc.l 0 ;8 Actual number of items in the table
CTable_ItemAddr:Dc.l 0 ;12 Memory address of the current item
;236
ChunkyShapeBanks
;ChunkyShapesMem0: Dc.l 0 ; ChunkyShapesMem bank 0
;ChunkyShapesTotal0:Dc.w 0 ; ChunkyShapesTotal bank 0
;ChunkyShapesPad0: Dc.w 0 ;
Ds.w #NumberOfShapeBanks*8
;Next is at 492, with 32 shape banks